package nl.ordina.ott.java.client.model;


public class Speelveld {
	private final Vakje[][] vakjes = new Vakje[10][10];
	
	public Speelveld() {
		for (int rij = 1; rij <= 9; rij++) {
			for (int kolom = 1; kolom <= 9; kolom++) {
				vakjes[rij][kolom] = new Vakje();
			}
		}
		
		// Aanmaken rijen
		for (int rij = 1; rij <= 9; rij++) {
			new VakjesGroep(vakjes[rij][1]
							, vakjes[rij][2]
							, vakjes[rij][3]
							, vakjes[rij][4]
							, vakjes[rij][5]
							, vakjes[rij][6]
							, vakjes[rij][7]
							, vakjes[rij][8]
							, vakjes[rij][9]); 
		}
		// Aanmaken kolommen
		for (int kolom = 1; kolom <= 9; kolom++){
			new VakjesGroep(vakjes[1][kolom]
						  , vakjes[2][kolom]
						  , vakjes[3][kolom]
						  , vakjes[4][kolom]
						  , vakjes[5][kolom]
						  , vakjes[6][kolom]
						  , vakjes[7][kolom]
						  , vakjes[8][kolom]
						  , vakjes[9][kolom]);
			
		}
		// Aanmaken blokken 
		for (int blokrij = 0; blokrij <=2; blokrij++){
			for (int blokkolom = 0; blokkolom <=2; blokkolom++ ){
				int lbVakjeRij = 1+(3*blokrij);
				int lbVakjeKolom = 1+(3*blokkolom);
				new VakjesGroep(vakjes[lbVakjeRij][lbVakjeKolom]
							  , vakjes[lbVakjeRij][lbVakjeKolom+1]
							  , vakjes[lbVakjeRij][lbVakjeKolom+2]
							  , vakjes[lbVakjeRij+1][lbVakjeKolom]
							  , vakjes[lbVakjeRij+1][lbVakjeKolom+1]
							  , vakjes[lbVakjeRij+1][lbVakjeKolom+2]
							  , vakjes[lbVakjeRij+2][lbVakjeKolom]
							  , vakjes[lbVakjeRij+2][lbVakjeKolom+1]
							  , vakjes[lbVakjeRij+2][lbVakjeKolom+2]);
			}
		}
		
	}

	public Vakje getVakje(int rij, int kolom) {
		return vakjes[rij][kolom];
	}
}
